# file      : libcommon/buildfile
# license   : GNU GPL v2; see accompanying LICENSE file

import intf_libs = libodb%lib{odb}

for db: $databases
  import intf_libs += libodb-$db%lib{odb-$db}

lib{common}: {hxx ixx txx cxx}{** -config} hxx{config} $intf_libs

# Generated config file.
#
using autoconf

hxx{config}: in{config}
{
  DATABASE_MYSQL  = $mysql
  DATABASE_SQLITE = $sqlite
  DATABASE_PGSQL  = $pgsql
  DATABASE_ORACLE = $oracle
  DATABASE_MSSQL  = $mssql
  MULTI_DATABASE  = $multi
}

# Build options.
#
cxx.poptions =+ "-I$out_root" "-I$src_root"

{hbmia obja}{*}: cxx.poptions += -DLIBCOMMON_STATIC_BUILD
{hbmis objs}{*}: cxx.poptions += -DLIBCOMMON_SHARED_BUILD

# Export options.
#
lib{common}:
{
  cxx.export.poptions = "-I$out_root" "-I$src_root"
  cxx.export.libs = $intf_libs
}

liba{common}: cxx.export.poptions += -DLIBCOMMON_STATIC
libs{common}: cxx.export.poptions += -DLIBCOMMON_SHARED

# For pre-releases use the complete version to make sure they cannot
# be used in place of another pre-release or the final version. See
# the version module for details on the version.* variable values.
#
if $version.pre_release
  lib{common}: bin.lib.version = "-$version.project_id"
else
  lib{common}: bin.lib.version = "-$version.major.$version.minor"
